// 使用express快速搭建服务器
// 引入path
const { resolve } = require('path')

// 1. 引入express
const express = require('express')
const { log } = require('console')

// 引入第三方的中间件body-parser
const bodyParser = require('body-parser')

// 2. 调用express函数,创建应用对象
const app = express()

// 定义应用级中间件(其实就是定义函数)
function mW(req, res, next) {
  //req 是当前请求的请求对象
  // res是当前请求的响应对象
  // next 是一个函数,代表的是下一个中间件或路由的回调
  log('我的第一个自定义中间件执行')
  next()
}

// 使用中间件
app.use(mW)

//使用内置中间件express.urlencoded
// 这个中间件可以帮我们将post请求主体中的数据解析之后添加到req.body上
// app.use(express.urlencoded({ extended: false }))

// 使用第三方中间件bodyParser.urlencoded
// 这个中间件可以帮我们将post请求主体中的数据解析之后添加到req.body上
// app.use(bodyParser.urlencoded({ extended: false }))

// 3. 定义路由
app.get('/a', (req, res) => {
  log('路由的回调函数执行了')
  res.send('234')
})
app.post('/xxx', (req, res) => {
  log('接收到post请求了', req.body)
  res.send('post请求响应成功')
})

// 4. 启动服务
app.listen(5000, (error) => {
  if (error) console.log('服务器启动失败', error)
  else console.log('服务器启动成功')
})
